﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using Newtonsoft.Json;
using OfficeOpenXml.Table;

namespace NP.BPMReportPlatform.GC.Dto
{
    [ExcelExporter(Name = "报表数据", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class GetAccountPeriodAdjustmentApplicationOutput
    {


        /// <summary>
        /// 发起人名称
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string UserName { get; set; }

        /// <summary>
        /// 流程ID
        /// </summary>
        [ExporterHeader(DisplayName = "单据号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>        
        [ExporterHeader(DisplayName = "单据状态")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [ExporterHeader(DisplayName = "申请时间")]
        public string CreateTime { get; set; }


        /// <summary>
        /// 组织公司代码
        /// </summary>
        [ExporterHeader("组织公司代码")]
        public string CompanyCode { get; set; }

        /// <summary>
        /// 大区
        /// </summary>
        [ExporterHeader("大区")]
        public string Area { get; set; }

        /// <summary>
        /// 信控范围
        /// </summary>
        [ExporterHeader("信控范围")]
        public string SignalControlRange { get; set; }

        /// <summary>
        /// 调整内容分类
        /// </summary>
        [ExporterHeader("调整内容分类")]
        public string AdjustContent { get; set; }

        /// <summary>
        /// 抄送人名称
        /// </summary> 
        [ExporterHeader("抄送人名称")]
        public string CCUsersName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [ExporterHeader("备注")]
        public string Remark { get; set; }

        /// <summary>
        /// 调整情况说明
        /// </summary>
        [ExporterHeader("调整情况说明")]
        public string Content { get; set; }

        /// <summary>
        /// URL
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }


        /// <summary>
        /// 客户名称字符串
        /// </summary>
        [ExporterHeader("客户名称")]
        public string CustomerName { get; set; }

        /// <summary>
        /// 客户代码字符串
        /// </summary>
        [ExporterHeader("客户编码")]
        public string CustomerCode { get; set; }
    }

    [ExcelExporter(Name = "相关审批人报表数据", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class GetAccountPeriodAdjustmentApplicationApproverOutput
    {
        /// <summary>
        /// 单据号
        /// </summary>        
        [ExporterHeader(DisplayName = "单据号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 单据类型
        /// </summary>
        [ExporterHeader(DisplayName = "单据类型")]
        public string InstanceType { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        [ExporterHeader(DisplayName = "单据状态")]
        public string Status { get; set; }

        [ExporterHeader(IsIgnore = true)]
        public int? ResolveStatus { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [ExporterHeader(DisplayName = "申请时间")]
        public string AddTime { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string AddUser { get; set; }

        /// <summary>
        /// 操作时间
        /// </summary>
        [ExporterHeader(DisplayName = "操作时间")]
        public string OperateTime { get; set; }

        /// <summary>
        /// 操作说明
        /// </summary>
        [ExporterHeader(DisplayName = "操作说明")]
        public string Summary { get; set; }

        /// <summary>
        /// 审批人
        /// </summary>
        [ExporterHeader(DisplayName = "审批人")]
        public string OperateUser { get; set; }

        /// <summary>
        /// 流程名称
        /// </summary>        
        [ExporterHeader(DisplayName = "流程名称")]
        public string InstanceTopic { get; set; }

        /// <summary>
        /// 组织公司代码
        /// </summary>
        [ExporterHeader("组织公司代码")]
        public string CompanyCode { get; set; }

        /// <summary>
        /// 大区
        /// </summary>
        [ExporterHeader("大区")]
        public string Area { get; set; }

        /// <summary>
        /// 调整内容分类
        /// </summary>
        [ExporterHeader("调整内容分类")]
        public string AdjustContent { get; set; }

        /// <summary>
        /// 信控范围
        /// </summary>
        [ExporterHeader("信控范围")]
        public string SignalControlRange { get; set; }

        /// <summary>
        /// 调整情况说明
        /// </summary>
        [ExporterHeader("调整情况说明")]
        public string Content { get; set; }

        /// <summary>
        /// 抄送人名称
        /// </summary>
        [ExporterHeader("抄送人名称")]
        public string CCUsersName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [ExporterHeader("备注")]
        public string Remark { get; set; }
    }
}

